home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / 031-040 / amok31 / environment / mpcompile.dok < prev    next >
Text File  |  1993-11-04  |  10KB  |  230 lines

  1. Dokumentation zu
  2.  
  3.                 MPCompile   V3.0
  4.                             
  5.                             von Markus Peuckert
  6.  
  7.  
  8. COPYRIGHT:            M.Peuckert
  9.                 Steinweg 18
  10.                 3501 Ahnatal-Weimar
  11.                 
  12.             Copyright (c) 1989 by M.Peuckert
  13.             
  14.   Sämtliche Urheberrechte liegen beim Autor. Dieses Programm darf frei
  15. kopiert werden, es ist Public-Domain. 
  16. Es wird jegliche Art von Garantien abgelehnt, welche die Tauglichkeit der 
  17. Software für einen bestimmten Zweck versprechen. Für Fehler in der 
  18. Dokumentation und im Programm werden nicht gehaftet. Auch nicht für Schäden, 
  19. die durch den Gebrauch der Dokumentation, deren Inhalt oder von der Software 
  20. direkt oder indirekt entstehen.
  21.  
  22.  
  23. BEILAGEN:
  24.         - Das Programm MPCompile V3.0
  25.         - Diese Dokumentation
  26.  
  27.  
  28. VORWEG:
  29.   Dieses Utility ist als Programmierhilfe für beliebige Programmierumgebungen
  30. gedacht. Besonders für Modula-2 Programmierer ist es interessant, da es in 
  31. dieser Sprache geschrieben ist (M2Amiga A+L AG). Benutzer anderer 
  32. Compiler werden aber auch eine nützliche Hilfe darin sehen, weil durch die 
  33. Verwendung von Platzhaltern, für das zu compilierende/linkende Programm, eine 
  34. hohe Flexibilität geboten wird. 
  35.  
  36. AUFRUF:
  37.   Rufen Sie MPCompile über das CLI auf, da es beim Aufruf über die Workbench
  38. sonst zu einem "Stack Overflow" des von MPCompile aufgerufenen Compilers/Linkers
  39. führen kann. Am besten Sie starten mit "Run MPCompile" und sehen was sich tut:
  40.  
  41. INITIALISIEREN:
  42.   Es öffnen sich drei Fenster. Das Oberste ist das Steuerfenster über die alle
  43. Aufrufe geschehen. Darunter wird ein CONSOLE-Fenster geöffnet für die Ausgaben
  44. des Compilers/Linkers/Debuggers etc. Danach wird das sogenannte 
  45. "PopWindow Preferences"-Fenster geöffnet in dem in verschiedenen Gadgets die 
  46. Aufrufe für Compiler, Linker, Loader/Debugger, den verwendeten Editor und das
  47. von Ihnen zu bearbeitende Programm spezifiziert werden. Sind diese Gadgets 
  48. leer, so tragen Sie dort die Art und Weise des Compilers ein, wie er gestartet
  49. wird. Analog müssen Sie in die anderen Gadgets die Aufrufbedingungen der von 
  50. Ihnen verwendeten Programme eingetragen werden. Verwenden Sie irgendein Feld
  51. nicht (z.B. keinen Debugger oder Loader), so lassen Sie dieses Feld einfach 
  52. frei. In das Feld "Program" tragen Sie einfach ihr zu bearbeitendes SourceCode-
  53. Programm ein (mit vollem Pfadnamen und Suffix z.B. : "vd0:MPCompile.Mod").
  54.  
  55.   Nun muß noch einiges zum Platzhalter gesagt werden. Damit MPCompile weiß, wo
  56. der Programmname ihres Programmes im, z.B., Compileraufruf eingefügt werden
  57. muß, geben Sie im Gadget für die Maske des Compileraufrufs ein Doppelkreuz
  58. ein:
  59.         Beispiel:     M2:m2c -Opts # 
  60.  
  61. MPCompile setzt nun ihr Programm, z.B. "Bsp.Mod", beim Aufruf an die Stelle des 
  62. Doppelkreuzes:
  63.         M2:m2c -Opts Bsp.Mod
  64.  
  65. Achten Sie bei der Eingabe in das Feld "Program" (zu compilierendes Programm)
  66. auf Groß/klein-Schreibung. Manche Compiler und/oder Linker und/oder 
  67. Loader/Debugger sind da ziemlich pingelig.
  68.  
  69. Sie können auch die Extension direkt nach dem Doppelkreuz angeben:
  70.  
  71. Compiler:        M2:m2c -Opts #.Mod    oder
  72. Linker:         M2:m2l #.obj
  73.  
  74. Nun müssen aber in dem "Program"-Gadget die Extension weglassen, damit kein 
  75. falscher Aufruf erfolgt. 
  76.  
  77. Eingabe in das "Program"-Gadget :     vd0:Bsp
  78.  
  79. Jetzt wird die Extension automatisch angehängt, was
  80. auch für den Linkeraufruf (oder den Loader/Debuggeraufruf) wichtig sein kann, 
  81. wenn ganz bestimmte Extensionen gefordert werden.
  82.         
  83. Analog funktioniert das für den Linker-,Loader-,Debugger-,Editoraufruf.
  84.  
  85. Bei manchen Compilern kann man die Optionen erst NACH Angabe des zu 
  86. compilierenden Programmes angeben. Dafür ist die Verwendung des Platzhalters
  87. gedacht. Source : "Bsp.c".
  88.  
  89.     Beispiel:    cc # -Opts        wird zusammengesetzt zu
  90.     
  91.             cc Bsp.c -Opts
  92.  
  93. Viele Linker laufen z.T. nur so:
  94.             ln # -Opts    ==>  ln Bsp -Opts        oder
  95.             ln #.o -Opts  ==>  ln Bsp.o -Opts.
  96.  
  97.  
  98. PFADNAME:
  99.   Der Pfadname am Anfang des Programmnamens wird von MPCompile extrahiert und
  100. dorthin das aktuelle Directory gesetzt. Damit wird erreicht, daß der aufgerufene
  101. Compiler das compilierte Programm auch dort ablegt und nicht in seinem eigenen
  102. Directory.
  103.  
  104. EXTENSION:
  105.   Die Extension kann mit angegeben werden. Sie wird automatisch extrahiert für 
  106. die Aufrufe des Linkers oder Debuggers, die ja eine andere Extension erwarten
  107. (meistens .o oder .obj).
  108.  
  109.   Haben Sie alle erforderlichen Eingaben getätigt, können Sie diese mit 
  110. Anklicken des "SAVE"-Gadgets abspeichern. Dies geschieht in die Datei
  111. "Compi.config", die eigens dafür im "s:"-Directory der Systemdiskette angelegt 
  112. wird.
  113.   Beim Starten von MPCompile wird nachgeschaut, ob diese Datei vorhanden ist und
  114. die gespeicherten Daten eingelesen. Wenn nicht, wird sie automatisch 
  115. eingerichtet und Sie können nach Eingabe in die Gadgets des "PopWindow" 
  116. abspeichern. Haben Sie die Einstellungen geändert und wollen aber lieber die
  117. Gespeicherten wiederhaben, so klicken Sie einfach das "LOAD"-Gadget an. Die 
  118. vorher gespeicherten Einstellungen werden wieder geladen. 
  119. Sind diese Initialisierungen erfolgt, klicken Sie das Closing-Gadget an. 
  120. Das "PopWindow" wird geschlossen und ...
  121.  
  122. ARBEITEN:
  123. ...  Sie befinden sich im Steuermodus.
  124. Der Name des zu bearbeitenden Programmes wird dabei mit Pfad im Output-Fenster
  125. angezeigt. 
  126.   Folgende Gadgets bewirken folgendes:
  127.  
  128. Compile     : compiliert das eingestellte Programm.
  129. Link        : linkt       "      "          "     .
  130. Load/Debug      : lädt den Loader/Debugger mit dem eingestellten Programm.
  131. Run        : führt die Anweisungen : Compile, Link, Execute nacheinander 
  132.           aus. (Nur klicken, wenn Source fehlerfrei ist, sonst 
  133.           Linker- und Programmaufruf umsomst)
  134. Execute        : startet das fertig compilierte und gelinkte Programm.
  135. Edit        : startet den eingestellten Editor mit dem eingestellten 
  136.           Programm (mit Extension).
  137. Pop        : öffnet das PopWindow und alle Einstellungen können geändert
  138.           werden.
  139.  
  140.   Klicken Sie nun die gewünschten Operationen an, die dann unverzüglich 
  141. ausgeführt werden. Die Ausgaben des Compilers/Linkers/Loaders werden dabei in 
  142. das Output-Fenster umgeleitet. Während eine Operation ausgeführt wird, sind 
  143. zwar die Gadgets anklickbar, aber der IDCMP ist für dieses Fenster 
  144. abgeschaltet. D.h., wenn Sie, während ein Programm läuft, versonnen auf den 
  145. Gadgets herumklicken, passiert nichts (Sonst würden, je nachdem welche Gadgets
  146. Sie angeklickt haben, diese Programme nacheinander gestartet, was dann 
  147. ewig dauert bis Sie wieder sinnvoll arbeiten können).
  148. Sie können aber auch den CLI-Befehl "Run" vor den Aufruf des gewünschten 
  149. Programmes setzen. Es wird damit ein neuer Task gestartet und Sie können mit
  150. MPCompile gleich weiterarbeiten und müssen nicht erst warten bis das aufgerufene
  151. Programm abgearbeitet ist. Am Beispiel des Editors, den man ja nicht immer
  152. zum compilieren verlassen will:
  153.  
  154.         Run M2:m2emacs #
  155.  
  156.  
  157. BESONDERHEITEN:
  158.   Sie können MPCompile iconifizieren indem Sie das Steuerfenster mit dem linken
  159. Mausknopf aktivieren und dann den rechten Mausknopf drücken. Daraufhin wird das
  160. Output-Fenster geschlossen, das Steuerfenster auf ein Minimum verkleinert und 
  161. an den rechten Workbenchrand verschoben. Arbeiten Sie dann was Sie wollen.
  162. Wenn Sie wieder mit MPCompile arbeiten wollen, müssen es wieder aktiv-klicken 
  163. und dann die rechte Maustaste drücken. Das Steuerfenster und das Output-Fenster
  164. werden dann an die ursprüngliche Stelle gerückt und wieder vergrößert, bzw. 
  165. geöffnet. Alle Fenster von MPCompile sind beliebig verschiebbar gehalten 
  166. (auch das iconifizierte Steuerfenster).
  167.  
  168.   Auch eine Umleitung der Ein- und Ausgaben für den Compiler wie unter 
  169. [AmigaDOS] ist möglich. Geben Sie hier im "PopWindow" unter Compileraufruf 
  170. einfach einen Pfeil und einen Dateinamen für die Umleitung ein.
  171. Zum Beispiel:
  172.     Umleitung der Compilerausgaben in eine Datei "temp" in der RAMDisk:
  173.     
  174.     M2:m2c >ram:temp #
  175.  
  176.  
  177.   Es ist möglich eine Datei als Eingabe für den Compiler zu benutzen, um mehrere
  178. Programme in einem Aufruf zu compilieren (wenn das der Compiler zuläßt).
  179. Beispiel:
  180.     Umleitung der Compilereingabe aus der Datei "Sources" in der RAMDisk:
  181.     
  182.     M2:m2c <#
  183.     
  184.   Wobei nun im Popwindow unter "Program" die Datei "ram:Sources" eingetragen 
  185. werden muß, damit sich der Compiler dort seine SourcecodeProgramme holen 
  186. kann, die er dann nach und nach abarbeitet und das Compilat (WICHTIG!!) 
  187. in der RAMDisk abspeichert. Die Datei enthält dann nur die zu compilierenden 
  188. Programme, z.B.:
  189.  
  190. vd0:Source1.Def
  191. vd0:Source1.Mod
  192. vd0:Source2.Mod
  193. vd0:Source3.Def
  194.  
  195. In diesem Beispiel holt sich der Compiler seine Sourcecodes aus der restfesten
  196. Ramdisk "vd0:" und legt dann die compilierten Objektdateien in der RAMDisk ab.
  197.  
  198.  
  199. SPEZIELLES: für Modula-Programmierer:
  200.   Geben Sie für Programm-Module in einer solchen Datei keine Extension an, 
  201. und leiten die Eingaben von dieser Datei um, dann kann man compilieren und 
  202. linken in einem Durchgang:
  203.  
  204.     Compiler:    M2:m2c <#
  205.     Linker  :    M2:m2l <#
  206.     Program :    ram:Sources    Datei in der die zu compilierenden
  207.                     Sources definiert sind.
  208.     Editor    :    M2:m2emacs #
  209.     
  210.  
  211. So könnte dann "ram:Sources" aussehen:
  212.  
  213. vd0:Source1.Def            Defintions-Modul    soll nur compiliert werden.
  214. vd0:Source1.Mod            Implentations-Modul  "    "      "        "   .
  215. vd0:Source2.Def            Defintions-Modul    soll nur compiliert werden.
  216. vd0:Source2.Mod            Implentations-Modul  "    "      "        "   .
  217. vd0:MainSource            Programm-Modul soll compiliert und gelinkt 
  218.                 werden.    (Extension wird weggelassen)
  219.  
  220. Vom M2-Linker werden nämlich nur solche Dateien anerkannt, die eine Endung mit
  221. ".obj" oder keine Endung haben. Der Compiler erkennt Definitions-Module nur 
  222. an der Endung ".Def".
  223.  
  224.  
  225. Gibt es irdendwelche Bugs (mir sind keine aufgefallen) oder neue Anregungen,
  226. so bitte ich Sie mir doch zu schreiben.
  227.  
  228.     Viel Spaß noch !
  229.                  Markus
  230.